Currently, most services over the network are based on transfer control protocol (TCP). A client establishes a TCP connection with a server, and then the client and the server exchange data. The communication quality depends entirely on the TCP and the network status between the server and the client.
To improve the service quality, various technologies are often used to accelerate the network communication between the client and the server. A proxy server is most often used. A machine that ensures a smooth network between the client and the server is selected as the proxy server. Data is not sent directly from the client to the server, but is first sent to the proxy server and then sent by the proxy server to the server. Accordingly, the network may be prevented from being congested, and the transmission quality is improved.
Such accelerating solution has several drawbacks.
1. The proxy server may only solve partial problems. Only when the network link between the client and the server is poor and a proxy server with a good connection with the client and the server can be found, the proxy server may be used to improve the service quality. When the network of the client or the server itself is unstable, for example, the packet loss rate is high or the time delay is long, the TCP may fail to achieve the desired transmission quality even if the proxy server is used.
2. In a conventional proxy server, each task needs to establish a TCP connection to the proxy server, and the proxy server establishes another TCP connection to the server. For a large amount of small data transmission, the TCP connections between the client and the proxy server and between different proxy servers may need to be established and cut off frequently, resulting in the waste of resources, which even affects the service quality.
Meanwhile, because of the slow start characteristics of the TCP, a newly established TCP connection needs a certain period of time to adjust parameters to achieve an optimal transmission performance. The use of a long connection may alleviate such a situation. But too many idle connections may aggravate the consumption of the resource.
3. In a conventional proxy server, each application service is bound to a TCP connection between the client and the proxy server and a TCP connection between the proxy server and the server. When an issue occurs at any of the TCP connections, the service may be degraded and the connection may be even cut off. Further, once the TCP connections are established, the proxy server cannot be replaced based on the network status.
Directed towards related technologies, no effective solution has been proposed to solve existing issues of poor transmission quality and waste of resources when the TCP connection performs data transmission.